var login;
(function (login) {
    function toast(txt) {
        Ext.toast({
            html: txt,
            closable: false,
            align: 't',
            minWidth: ismobile ? 200 : 400
        });
    }

    login.toast = toast;

    function ajax(arg) {
        function createxmlHttpRequest() {
            if (window["ActiveXObject"]) {
                return new ActiveXObject("Microsoft.XMLHTTP");
            } else if (window["XMLHttpRequest"]) {
                return new XMLHttpRequest();
            }
        }

        function convertData(data) {
            if (typeof data === 'object') {
                var array = [];
                for (var c in data) {
                    array.push(c + "=" + encodeURIComponent(data[c]));
                }
                return array.join("&");
            } else {
                return data;
            }
        }

        var ajaxData = {
            type: arguments[0].type || "GET",
            url: arguments[0].url || "",
            async: arguments[0].async || true,
            data: arguments[0].data || null,
            dataType: arguments[0].dataType || "text",
            contentType: arguments[0].contentType || "application/x-www-form-urlencoded",
            beforeSend: arguments[0].beforeSend || function () {
            },
            success: arguments[0].success || function () {
            },
            error: arguments[0].error || function () {
            }
        };
        ajaxData.beforeSend();
        var xhr = createxmlHttpRequest();
        xhr.responseType = ajaxData.dataType;
        xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
        xhr.setRequestHeader("Content-Type", ajaxData.contentType);
        xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
        xhr.send(convertData(ajaxData.data));
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                if (xhr.status == 200) {
                    ajaxData.success(xhr.response, xhr);
                } else {
                    ajaxData.error(xhr.response, xhr);
                }
            }
        };
    }
    login.ajax = ajax;
    ;
})(login || (login = {}));